<?php
/**
 * Created by PhpStorm.
 * User: 郝飞
 * Date: 2017/7/7
 * Time: 9:33
 * 故事类
 */

namespace Publish\Lib;


class ImageLib {
	/*构造函数*/
	public function __construct() {

	}

	/**
	 * 添加图片集合
	 * @param $person_id 人物id
	 * @param $img_name 图片名称/文件上传时的原有名称
	 * @param $img_text 图片图注
	 * @param $img_url 图片地址
	 * @param $img_mark img_mark
	 * @param $infor_id 其他资料id
	 */
	public function AddImages($person_id,$img_name,$img_text,$img_url,$img_mark,$infor_id=''){
		$pub_image_model = D("PubImage");
		$data['person_id'] = $person_id;
		$data['img_name'] = $img_name;
		$data['img_text'] = $img_text;
		$data['img_url'] = $img_url;
		$data['img_mark'] = $img_mark;
		$data['infor_id'] = $infor_id;
		$data['img_time'] = time();
		$add_image_id = $pub_image_model->add($data);
		return $add_image_id;
	}

	/**
	 * 返回人物对应标识下的图片
	 * @param $person_id 人物id
	 * @param $mark 图片标识
	 * 有数据则返回图片数组 无数据返回false
	 */
	public function GetImages($person_id,$mark){
		$pub_image_model = D("PubImage");
		$where['person_id'] = $person_id;
		$where['img_mark'] = $mark;
		$image_arr = $pub_image_model->where($where)->select();
		if(!empty($image_arr)) return $image_arr;
		return false;
	}

	/**
	 * 删除对应数据库信息
	 * @param $person_id 人物id
	 * @param $mark 图片标识
	 * 不存在图片信息返回null 删除失败返回false 删除成功返回true
	 */
	public function DelImages($person_id,$mark){
		$pub_image_model = D("PubImage");
		$image_arr = self::GetImages($person_id,$mark);
		//判断是否存在图片信息
		if(!$image_arr){
			return null;
		}
		for($i = 0; $i<count($image_arr); $i++){
			$is_status = $pub_image_model->where(array('id'=>$image_arr[$i]['id']))->delete();
			if(!$is_status) return false;
		}
		return true;
	}

	/**
	 * 返回ID下的详细信息
	 * @param $id 图片id
	 */
	public function isImage($id){
		$pub_image_model = D("PubImage");
		$image_infor = $pub_image_model
			->alias("a")
			->join("__PUB_PERSON__ as b ON a.person_id = b.id")
			->join("__PUB_INFORMATION__ as c ON a.infor_id = c.id")
			->field("a.*,b.name,c.title")
			->where(array("a.id"=>$id))
			->find();
		if(!empty($image_infor)) return $image_infor;
		return null;
	}

	/**
	 * 更新数据
	 * @param $id 图片id
	 * @param $person_id 人物id
	 * @param $img_name 图片名称/文件上传时的原有名称
	 * @param $img_text 图片图注
	 * @param $img_url 图片地址
	 * @param $img_mark img_mark
	 * @param $infor_id 其他资料id
	 */
	public function SaveImages($id,$person_id,$img_name,$img_text,$img_url,$img_mark,$infor_id=''){
		$pub_image_model = D("PubImage");
		$data['person_id'] = $person_id;
		$data['img_name'] = $img_name;
		$data['img_text'] = $img_text;
		$data['img_url'] = $img_url;
		$data['img_mark'] = $img_mark;
		$data['infor_id'] = $infor_id;
		$data['img_time'] = time();
		$save_image = $pub_image_model->where(array("id"=>$id))->save($data);
		if($save_image !== false) return true;
		return false;
	}

	/**
	 * 通过其他资料id 查询对应图片集
	 * @param $infor_id 其他资料id
	 */
	public function InforImage($infor_id){
		$pub_image_model = D("PubImage");
		$where['infor_id'] = $infor_id;
		$inforImages = $pub_image_model->where($where)->select();
		!empty($inforImages ) && $infor = $inforImages;
		return $infor;
	}

	/**
	 * 根据条件删除数据
	 * @param array $where 要删除的筛选条件
	 */
	public function del($where=array()){
		$pub_image_model = D("PubImage");
		$inforImages = $pub_image_model->where($where)->delete();
		if($inforImages) return true;
		return false;
	}
}